\section{Evaluation Results} \label{sec:experiments}
We applied the dynamic part of our approach to the Virtual Meeting Management System (VMMS) which contains 6077 lines of code, 134 classes and 581 methods. 
VMMS offers web conference services. It allows the organization of work meetings on a distributed platform. Once connected to the virtual meeting service, the user can join a meeting, 
intervene in a speech, or plan new meetings. 
Every meeting has a manager who is responsible for planning the meetings and setting the meeting parameters (name, agenda, duration,...). 
Every meeting may also have a moderator, designated by the meeting manager. The moderator gives the floor to participants wishing to participate in the meeting. \\

The security policy $P$ which we inferred from the application code specifies 87 permission rules. These rules correspond to possible accesses in the application. 
We execute test cases of every rule in the policy as well 
as its mutated version. Using the aspect presented in the previous section, we collect the resulting execution traces in output files.
To locate the PEPs based on execution traces, we compare the execution traces of the original rule and of its mutated version as previously explained in Section \ref{sec:approach}. 
Figure \ref{traces} shows two execution
 traces extracted from 2 trace output files.
The first trace represents a trace execution corresponding to a rule policy {\it $R_{1}$: Permission(rule, Personnel, SetMeetingAgenda, Meeting, Default)} and the second denotes a trace execution 
corresponding to the mutated version of the rule {\it $R_{2}$: Prohibition(mutated\_rule, Personnel, SetMeetingAgenda, Meeting, Default)}.\\
\begin{figure}[!h]
\begin{center}
\includegraphics[height=3.5cm,width=8.5cm]{traces}
\caption{PEPs localization through Trace analysis }
\label{traces} 
\end{center}
\end{figure}
An analysis of the two traces shows that once the policy is mutated, a call to the function service.UserService.disconnectUserFromMeeting produces a security exception. 
By comparing the two traces, we automate the location and the mapping of all the PEPs in the system which enforce a possible access in the system. 
The table 1 shows some of the PEPs distribution that we have identified per each class and the number of rules that are relevant for those PEPs.

\begin{table}[h!]
\centering
\begin{tabular}{|>{\small}c|>{\small}c|}
\hline  \rowcolor{black}
 \bf \textcolor  {white}
{PEPs by Class}& \bf  \textcolor  {white} {\bf  \parbox{1.5 cm} {Rules Number}}\\ \hline
\rowcolor[gray]{0.8}ChatService & 24\\ \hline
speakInMeeting& 10 \\ 
handOver& 2\\  
over& 2 \\  
askTo Speak& 10\\  \hline
\rowcolor[gray]{0.8}PersonnelAccountService & 7\\ \hline
createPersonnelAccount& 1 \\
consultPersonnelAccount& 3\\  
deletePersonnelAccoun& 2 \\  
updatePersonnelAccount& 1\\  \hline
\rowcolor[gray]{0.8}MeetingService & 32\\ \hline
openMeeting& 4 \\  
putMeetingAgenda& 8\\  
putMeetingTitle& 8 \\  
closeMeeting& 4\\  
putMeetingModerator& 8\\  \hline
\end{tabular}
\caption{PEPs Distribution}\label{table1}\end{table}







